import { createRouter, createWebHistory } from 'vue-router'


const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      redirect: '/dashboard'
    },
    {
      path: '/login',
      component: () => import('@/views/Login.vue')
    },
    {
      path: '/dashboard',
      component: () => import('@/views/Dashboard.vue'),
      children: [
        {
          path: 'welcome',
          component: () => import('@/views/dashboard/Welcome.vue'),
        },
        {
          path: 'user',
          component: () => import('@/views/dashboard/user/User.vue'),
          children:[
            {
              path:'index',
              component:()=>import('@/views//dashboard/user/Index.vue')
            }
          ]
        },


      ]

    },
  ]
})

export default router
// 设置路由全局守卫 对登录状态做校验
router.beforeEach((to, from) => {
  // 获取登录存的本地信息
  let userInfo = JSON.parse(localStorage.getItem('acl'));
  // console.log('userInfo', userInfo);
  //to.path 目标对象的地址
  if (to.path == '/login') {
    // 当本次登录后的存储信息token存在,说明已登录,让其跳转到首页
    if (userInfo) {
      // 说明已经登录,提示已登录然后跳转到首页
      ElMessage({
        message: '您已经登录过啦,无需重复登录',
        type: 'warning',
        duration: 1000,

      })
      // 重定向到首页
      return { path: '/home' }
    }
    //如果没?有userInfo不用写return 以内不写默认表示放行,允许正常跳转
  } else {
    // 本地有token说明已登录 正常访问页面;如果没有token,请先登录,跳转到登录页
    if (!userInfo) {
      ElMessage({
        message: '请先登录',
        type: 'warning',
        duration: 1000
      })
      // 重定向到登录页
      return { path: '/login' }
    }

  }
})
